﻿using System;
using System.Runtime.InteropServices;

namespace Valve.VR
{
	// Token: 0x0200080D RID: 2061
	public class OpenVR
	{
		// Token: 0x06002F2C RID: 12076 RVA: 0x000F40D4 File Offset: 0x000F22D4
		public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType)
		{
			return OpenVRInterop.InitInternal(ref peError, eApplicationType);
		}

		// Token: 0x06002F2D RID: 12077 RVA: 0x000F40E0 File Offset: 0x000F22E0
		public static void ShutdownInternal()
		{
			OpenVRInterop.ShutdownInternal();
		}

		// Token: 0x06002F2E RID: 12078 RVA: 0x000F40E8 File Offset: 0x000F22E8
		public static bool IsHmdPresent()
		{
			return OpenVRInterop.IsHmdPresent();
		}

		// Token: 0x06002F2F RID: 12079 RVA: 0x000F40F0 File Offset: 0x000F22F0
		public static bool IsRuntimeInstalled()
		{
			return OpenVRInterop.IsRuntimeInstalled();
		}

		// Token: 0x06002F30 RID: 12080 RVA: 0x000F40F8 File Offset: 0x000F22F8
		public static string GetStringForHmdError(EVRInitError error)
		{
			return Marshal.PtrToStringAnsi(OpenVRInterop.GetStringForHmdError(error));
		}

		// Token: 0x06002F31 RID: 12081 RVA: 0x000F4108 File Offset: 0x000F2308
		public static IntPtr GetGenericInterface(string pchInterfaceVersion, ref EVRInitError peError)
		{
			return OpenVRInterop.GetGenericInterface(pchInterfaceVersion, ref peError);
		}

		// Token: 0x06002F32 RID: 12082 RVA: 0x000F4114 File Offset: 0x000F2314
		public static bool IsInterfaceVersionValid(string pchInterfaceVersion)
		{
			return OpenVRInterop.IsInterfaceVersionValid(pchInterfaceVersion);
		}

		// Token: 0x06002F33 RID: 12083 RVA: 0x000F411C File Offset: 0x000F231C
		public static uint GetInitToken()
		{
			return OpenVRInterop.GetInitToken();
		}

		// Token: 0x170004FA RID: 1274
		// (get) Token: 0x06002F34 RID: 12084 RVA: 0x000F4124 File Offset: 0x000F2324
		// (set) Token: 0x06002F35 RID: 12085 RVA: 0x000F412C File Offset: 0x000F232C
		private static uint VRToken { get; set; }

		// Token: 0x170004FB RID: 1275
		// (get) Token: 0x06002F36 RID: 12086 RVA: 0x000F4134 File Offset: 0x000F2334
		private static OpenVR.COpenVRContext OpenVRInternal_ModuleContext
		{
			get
			{
				if (OpenVR._OpenVRInternal_ModuleContext == null)
				{
					OpenVR._OpenVRInternal_ModuleContext = new OpenVR.COpenVRContext();
				}
				return OpenVR._OpenVRInternal_ModuleContext;
			}
		}

		// Token: 0x170004FC RID: 1276
		// (get) Token: 0x06002F37 RID: 12087 RVA: 0x000F4150 File Offset: 0x000F2350
		public static CVRSystem System
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRSystem();
			}
		}

		// Token: 0x170004FD RID: 1277
		// (get) Token: 0x06002F38 RID: 12088 RVA: 0x000F415C File Offset: 0x000F235C
		public static CVRChaperone Chaperone
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRChaperone();
			}
		}

		// Token: 0x170004FE RID: 1278
		// (get) Token: 0x06002F39 RID: 12089 RVA: 0x000F4168 File Offset: 0x000F2368
		public static CVRChaperoneSetup ChaperoneSetup
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRChaperoneSetup();
			}
		}

		// Token: 0x170004FF RID: 1279
		// (get) Token: 0x06002F3A RID: 12090 RVA: 0x000F4174 File Offset: 0x000F2374
		public static CVRCompositor Compositor
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRCompositor();
			}
		}

		// Token: 0x17000500 RID: 1280
		// (get) Token: 0x06002F3B RID: 12091 RVA: 0x000F4180 File Offset: 0x000F2380
		public static CVROverlay Overlay
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VROverlay();
			}
		}

		// Token: 0x17000501 RID: 1281
		// (get) Token: 0x06002F3C RID: 12092 RVA: 0x000F418C File Offset: 0x000F238C
		public static CVRRenderModels RenderModels
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRRenderModels();
			}
		}

		// Token: 0x17000502 RID: 1282
		// (get) Token: 0x06002F3D RID: 12093 RVA: 0x000F4198 File Offset: 0x000F2398
		public static CVRExtendedDisplay ExtendedDisplay
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRExtendedDisplay();
			}
		}

		// Token: 0x17000503 RID: 1283
		// (get) Token: 0x06002F3E RID: 12094 RVA: 0x000F41A4 File Offset: 0x000F23A4
		public static CVRSettings Settings
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRSettings();
			}
		}

		// Token: 0x17000504 RID: 1284
		// (get) Token: 0x06002F3F RID: 12095 RVA: 0x000F41B0 File Offset: 0x000F23B0
		public static CVRApplications Applications
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRApplications();
			}
		}

		// Token: 0x17000505 RID: 1285
		// (get) Token: 0x06002F40 RID: 12096 RVA: 0x000F41BC File Offset: 0x000F23BC
		public static CVRScreenshots Screenshots
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRScreenshots();
			}
		}

		// Token: 0x17000506 RID: 1286
		// (get) Token: 0x06002F41 RID: 12097 RVA: 0x000F41C8 File Offset: 0x000F23C8
		public static CVRTrackedCamera TrackedCamera
		{
			get
			{
				return OpenVR.OpenVRInternal_ModuleContext.VRTrackedCamera();
			}
		}

		// Token: 0x06002F42 RID: 12098 RVA: 0x000F41D4 File Offset: 0x000F23D4
		public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene)
		{
			OpenVR.VRToken = OpenVR.InitInternal(ref peError, eApplicationType);
			OpenVR.OpenVRInternal_ModuleContext.Clear();
			if (peError != EVRInitError.None)
			{
				return null;
			}
			if (!OpenVR.IsInterfaceVersionValid("IVRSystem_016"))
			{
				OpenVR.ShutdownInternal();
				peError = EVRInitError.Init_InterfaceNotFound;
				return null;
			}
			return OpenVR.System;
		}

		// Token: 0x06002F43 RID: 12099 RVA: 0x000F4224 File Offset: 0x000F2424
		public static void Shutdown()
		{
			OpenVR.ShutdownInternal();
		}

		// Token: 0x04002EAF RID: 11951
		public const uint k_nDriverNone = 4294967295U;

		// Token: 0x04002EB0 RID: 11952
		public const uint k_unMaxDriverDebugResponseSize = 32768U;

		// Token: 0x04002EB1 RID: 11953
		public const uint k_unTrackedDeviceIndex_Hmd = 0U;

		// Token: 0x04002EB2 RID: 11954
		public const uint k_unMaxTrackedDeviceCount = 16U;

		// Token: 0x04002EB3 RID: 11955
		public const uint k_unTrackedDeviceIndexOther = 4294967294U;

		// Token: 0x04002EB4 RID: 11956
		public const uint k_unTrackedDeviceIndexInvalid = 4294967295U;

		// Token: 0x04002EB5 RID: 11957
		public const ulong k_ulInvalidPropertyContainer = 0UL;

		// Token: 0x04002EB6 RID: 11958
		public const uint k_unInvalidPropertyTag = 0U;

		// Token: 0x04002EB7 RID: 11959
		public const uint k_unFloatPropertyTag = 1U;

		// Token: 0x04002EB8 RID: 11960
		public const uint k_unInt32PropertyTag = 2U;

		// Token: 0x04002EB9 RID: 11961
		public const uint k_unUint64PropertyTag = 3U;

		// Token: 0x04002EBA RID: 11962
		public const uint k_unBoolPropertyTag = 4U;

		// Token: 0x04002EBB RID: 11963
		public const uint k_unStringPropertyTag = 5U;

		// Token: 0x04002EBC RID: 11964
		public const uint k_unHmdMatrix34PropertyTag = 20U;

		// Token: 0x04002EBD RID: 11965
		public const uint k_unHmdMatrix44PropertyTag = 21U;

		// Token: 0x04002EBE RID: 11966
		public const uint k_unHmdVector3PropertyTag = 22U;

		// Token: 0x04002EBF RID: 11967
		public const uint k_unHmdVector4PropertyTag = 23U;

		// Token: 0x04002EC0 RID: 11968
		public const uint k_unHiddenAreaPropertyTag = 30U;

		// Token: 0x04002EC1 RID: 11969
		public const uint k_unOpenVRInternalReserved_Start = 1000U;

		// Token: 0x04002EC2 RID: 11970
		public const uint k_unOpenVRInternalReserved_End = 10000U;

		// Token: 0x04002EC3 RID: 11971
		public const uint k_unMaxPropertyStringSize = 32768U;

		// Token: 0x04002EC4 RID: 11972
		public const uint k_unControllerStateAxisCount = 5U;

		// Token: 0x04002EC5 RID: 11973
		public const ulong k_ulOverlayHandleInvalid = 0UL;

		// Token: 0x04002EC6 RID: 11974
		public const uint k_unScreenshotHandleInvalid = 0U;

		// Token: 0x04002EC7 RID: 11975
		public const string IVRSystem_Version = "IVRSystem_016";

		// Token: 0x04002EC8 RID: 11976
		public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";

		// Token: 0x04002EC9 RID: 11977
		public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";

		// Token: 0x04002ECA RID: 11978
		public const uint k_unMaxApplicationKeyLength = 128U;

		// Token: 0x04002ECB RID: 11979
		public const string k_pch_MimeType_HomeApp = "vr/home";

		// Token: 0x04002ECC RID: 11980
		public const string k_pch_MimeType_GameTheater = "vr/game_theater";

		// Token: 0x04002ECD RID: 11981
		public const string IVRApplications_Version = "IVRApplications_006";

		// Token: 0x04002ECE RID: 11982
		public const string IVRChaperone_Version = "IVRChaperone_003";

		// Token: 0x04002ECF RID: 11983
		public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";

		// Token: 0x04002ED0 RID: 11984
		public const string IVRCompositor_Version = "IVRCompositor_020";

		// Token: 0x04002ED1 RID: 11985
		public const uint k_unVROverlayMaxKeyLength = 128U;

		// Token: 0x04002ED2 RID: 11986
		public const uint k_unVROverlayMaxNameLength = 128U;

		// Token: 0x04002ED3 RID: 11987
		public const uint k_unMaxOverlayCount = 64U;

		// Token: 0x04002ED4 RID: 11988
		public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32U;

		// Token: 0x04002ED5 RID: 11989
		public const string IVROverlay_Version = "IVROverlay_016";

		// Token: 0x04002ED6 RID: 11990
		public const string k_pch_Controller_Component_GDC2015 = "gdc2015";

		// Token: 0x04002ED7 RID: 11991
		public const string k_pch_Controller_Component_Base = "base";

		// Token: 0x04002ED8 RID: 11992
		public const string k_pch_Controller_Component_Tip = "tip";

		// Token: 0x04002ED9 RID: 11993
		public const string k_pch_Controller_Component_HandGrip = "handgrip";

		// Token: 0x04002EDA RID: 11994
		public const string k_pch_Controller_Component_Status = "status";

		// Token: 0x04002EDB RID: 11995
		public const string IVRRenderModels_Version = "IVRRenderModels_005";

		// Token: 0x04002EDC RID: 11996
		public const uint k_unNotificationTextMaxSize = 256U;

		// Token: 0x04002EDD RID: 11997
		public const string IVRNotifications_Version = "IVRNotifications_002";

		// Token: 0x04002EDE RID: 11998
		public const uint k_unMaxSettingsKeyLength = 128U;

		// Token: 0x04002EDF RID: 11999
		public const string IVRSettings_Version = "IVRSettings_002";

		// Token: 0x04002EE0 RID: 12000
		public const string k_pch_SteamVR_Section = "steamvr";

		// Token: 0x04002EE1 RID: 12001
		public const string k_pch_SteamVR_RequireHmd_String = "requireHmd";

		// Token: 0x04002EE2 RID: 12002
		public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";

		// Token: 0x04002EE3 RID: 12003
		public const string k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd";

		// Token: 0x04002EE4 RID: 12004
		public const string k_pch_SteamVR_DisplayDebug_Bool = "displayDebug";

		// Token: 0x04002EE5 RID: 12005
		public const string k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe";

		// Token: 0x04002EE6 RID: 12006
		public const string k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX";

		// Token: 0x04002EE7 RID: 12007
		public const string k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY";

		// Token: 0x04002EE8 RID: 12008
		public const string k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps";

		// Token: 0x04002EE9 RID: 12009
		public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel";

		// Token: 0x04002EEA RID: 12010
		public const string k_pch_SteamVR_IPD_Float = "ipd";

		// Token: 0x04002EEB RID: 12011
		public const string k_pch_SteamVR_Background_String = "background";

		// Token: 0x04002EEC RID: 12012
		public const string k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection";

		// Token: 0x04002EED RID: 12013
		public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";

		// Token: 0x04002EEE RID: 12014
		public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";

		// Token: 0x04002EEF RID: 12015
		public const string k_pch_SteamVR_GridColor_String = "gridColor";

		// Token: 0x04002EF0 RID: 12016
		public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";

		// Token: 0x04002EF1 RID: 12017
		public const string k_pch_SteamVR_ShowStage_Bool = "showStage";

		// Token: 0x04002EF2 RID: 12018
		public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";

		// Token: 0x04002EF3 RID: 12019
		public const string k_pch_SteamVR_DirectMode_Bool = "directMode";

		// Token: 0x04002EF4 RID: 12020
		public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";

		// Token: 0x04002EF5 RID: 12021
		public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";

		// Token: 0x04002EF6 RID: 12022
		public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers";

		// Token: 0x04002EF7 RID: 12023
		public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees";

		// Token: 0x04002EF8 RID: 12024
		public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";

		// Token: 0x04002EF9 RID: 12025
		public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";

		// Token: 0x04002EFA RID: 12026
		public const string k_pch_SteamVR_SupersampleScale_Float = "supersampleScale";

		// Token: 0x04002EFB RID: 12027
		public const string k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection";

		// Token: 0x04002EFC RID: 12028
		public const string k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection";

		// Token: 0x04002EFD RID: 12029
		public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";

		// Token: 0x04002EFE RID: 12030
		public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";

		// Token: 0x04002EFF RID: 12031
		public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";

		// Token: 0x04002F00 RID: 12032
		public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";

		// Token: 0x04002F01 RID: 12033
		public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";

		// Token: 0x04002F02 RID: 12034
		public const string k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";

		// Token: 0x04002F03 RID: 12035
		public const string k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";

		// Token: 0x04002F04 RID: 12036
		public const string k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";

		// Token: 0x04002F05 RID: 12037
		public const string k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";

		// Token: 0x04002F06 RID: 12038
		public const string k_pch_SteamVR_EnableHomeApp = "enableHomeApp";

		// Token: 0x04002F07 RID: 12039
		public const string k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";

		// Token: 0x04002F08 RID: 12040
		public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo";

		// Token: 0x04002F09 RID: 12041
		public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset";

		// Token: 0x04002F0A RID: 12042
		public const string k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering";

		// Token: 0x04002F0B RID: 12043
		public const string k_pch_Lighthouse_Section = "driver_lighthouse";

		// Token: 0x04002F0C RID: 12044
		public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";

		// Token: 0x04002F0D RID: 12045
		public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";

		// Token: 0x04002F0E RID: 12046
		public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";

		// Token: 0x04002F0F RID: 12047
		public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";

		// Token: 0x04002F10 RID: 12048
		public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory";

		// Token: 0x04002F11 RID: 12049
		public const string k_pch_Null_Section = "driver_null";

		// Token: 0x04002F12 RID: 12050
		public const string k_pch_Null_SerialNumber_String = "serialNumber";

		// Token: 0x04002F13 RID: 12051
		public const string k_pch_Null_ModelNumber_String = "modelNumber";

		// Token: 0x04002F14 RID: 12052
		public const string k_pch_Null_WindowX_Int32 = "windowX";

		// Token: 0x04002F15 RID: 12053
		public const string k_pch_Null_WindowY_Int32 = "windowY";

		// Token: 0x04002F16 RID: 12054
		public const string k_pch_Null_WindowWidth_Int32 = "windowWidth";

		// Token: 0x04002F17 RID: 12055
		public const string k_pch_Null_WindowHeight_Int32 = "windowHeight";

		// Token: 0x04002F18 RID: 12056
		public const string k_pch_Null_RenderWidth_Int32 = "renderWidth";

		// Token: 0x04002F19 RID: 12057
		public const string k_pch_Null_RenderHeight_Int32 = "renderHeight";

		// Token: 0x04002F1A RID: 12058
		public const string k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons";

		// Token: 0x04002F1B RID: 12059
		public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency";

		// Token: 0x04002F1C RID: 12060
		public const string k_pch_UserInterface_Section = "userinterface";

		// Token: 0x04002F1D RID: 12061
		public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";

		// Token: 0x04002F1E RID: 12062
		public const string k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";

		// Token: 0x04002F1F RID: 12063
		public const string k_pch_UserInterface_Screenshots_Bool = "screenshots";

		// Token: 0x04002F20 RID: 12064
		public const string k_pch_UserInterface_ScreenshotType_Int = "screenshotType";

		// Token: 0x04002F21 RID: 12065
		public const string k_pch_Notifications_Section = "notifications";

		// Token: 0x04002F22 RID: 12066
		public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";

		// Token: 0x04002F23 RID: 12067
		public const string k_pch_Keyboard_Section = "keyboard";

		// Token: 0x04002F24 RID: 12068
		public const string k_pch_Keyboard_TutorialCompletions = "TutorialCompletions";

		// Token: 0x04002F25 RID: 12069
		public const string k_pch_Keyboard_ScaleX = "ScaleX";

		// Token: 0x04002F26 RID: 12070
		public const string k_pch_Keyboard_ScaleY = "ScaleY";

		// Token: 0x04002F27 RID: 12071
		public const string k_pch_Keyboard_OffsetLeftX = "OffsetLeftX";

		// Token: 0x04002F28 RID: 12072
		public const string k_pch_Keyboard_OffsetRightX = "OffsetRightX";

		// Token: 0x04002F29 RID: 12073
		public const string k_pch_Keyboard_OffsetY = "OffsetY";

		// Token: 0x04002F2A RID: 12074
		public const string k_pch_Keyboard_Smoothing = "Smoothing";

		// Token: 0x04002F2B RID: 12075
		public const string k_pch_Perf_Section = "perfcheck";

		// Token: 0x04002F2C RID: 12076
		public const string k_pch_Perf_HeuristicActive_Bool = "heuristicActive";

		// Token: 0x04002F2D RID: 12077
		public const string k_pch_Perf_NotifyInHMD_Bool = "warnInHMD";

		// Token: 0x04002F2E RID: 12078
		public const string k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce";

		// Token: 0x04002F2F RID: 12079
		public const string k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore";

		// Token: 0x04002F30 RID: 12080
		public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit";

		// Token: 0x04002F31 RID: 12081
		public const string k_pch_Perf_TestData_Float = "perfTestData";

		// Token: 0x04002F32 RID: 12082
		public const string k_pch_Perf_LinuxGPUProfiling_Bool = "linuxGPUProfiling";

		// Token: 0x04002F33 RID: 12083
		public const string k_pch_CollisionBounds_Section = "collisionBounds";

		// Token: 0x04002F34 RID: 12084
		public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle";

		// Token: 0x04002F35 RID: 12085
		public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn";

		// Token: 0x04002F36 RID: 12086
		public const string k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn";

		// Token: 0x04002F37 RID: 12087
		public const string k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn";

		// Token: 0x04002F38 RID: 12088
		public const string k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance";

		// Token: 0x04002F39 RID: 12089
		public const string k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR";

		// Token: 0x04002F3A RID: 12090
		public const string k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG";

		// Token: 0x04002F3B RID: 12091
		public const string k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB";

		// Token: 0x04002F3C RID: 12092
		public const string k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA";

		// Token: 0x04002F3D RID: 12093
		public const string k_pch_Camera_Section = "camera";

		// Token: 0x04002F3E RID: 12094
		public const string k_pch_Camera_EnableCamera_Bool = "enableCamera";

		// Token: 0x04002F3F RID: 12095
		public const string k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard";

		// Token: 0x04002F40 RID: 12096
		public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds";

		// Token: 0x04002F41 RID: 12097
		public const string k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView";

		// Token: 0x04002F42 RID: 12098
		public const string k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR";

		// Token: 0x04002F43 RID: 12099
		public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";

		// Token: 0x04002F44 RID: 12100
		public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";

		// Token: 0x04002F45 RID: 12101
		public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";

		// Token: 0x04002F46 RID: 12102
		public const string k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";

		// Token: 0x04002F47 RID: 12103
		public const string k_pch_audio_Section = "audio";

		// Token: 0x04002F48 RID: 12104
		public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";

		// Token: 0x04002F49 RID: 12105
		public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice";

		// Token: 0x04002F4A RID: 12106
		public const string k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice";

		// Token: 0x04002F4B RID: 12107
		public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";

		// Token: 0x04002F4C RID: 12108
		public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice";

		// Token: 0x04002F4D RID: 12109
		public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain";

		// Token: 0x04002F4E RID: 12110
		public const string k_pch_Power_Section = "power";

		// Token: 0x04002F4F RID: 12111
		public const string k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";

		// Token: 0x04002F50 RID: 12112
		public const string k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";

		// Token: 0x04002F51 RID: 12113
		public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";

		// Token: 0x04002F52 RID: 12114
		public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";

		// Token: 0x04002F53 RID: 12115
		public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";

		// Token: 0x04002F54 RID: 12116
		public const string k_pch_Dashboard_Section = "dashboard";

		// Token: 0x04002F55 RID: 12117
		public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";

		// Token: 0x04002F56 RID: 12118
		public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";

		// Token: 0x04002F57 RID: 12119
		public const string k_pch_modelskin_Section = "modelskins";

		// Token: 0x04002F58 RID: 12120
		public const string k_pch_Driver_Enable_Bool = "enable";

		// Token: 0x04002F59 RID: 12121
		public const string IVRScreenshots_Version = "IVRScreenshots_001";

		// Token: 0x04002F5A RID: 12122
		public const string IVRResources_Version = "IVRResources_001";

		// Token: 0x04002F5B RID: 12123
		public const string IVRDriverManager_Version = "IVRDriverManager_001";

		// Token: 0x04002F5D RID: 12125
		private const string FnTable_Prefix = "FnTable:";

		// Token: 0x04002F5E RID: 12126
		private static OpenVR.COpenVRContext _OpenVRInternal_ModuleContext;

		// Token: 0x0200080E RID: 2062
		private class COpenVRContext
		{
			// Token: 0x06002F45 RID: 12101 RVA: 0x000F4230 File Offset: 0x000F2430
			public COpenVRContext()
			{
				this.Clear();
			}

			// Token: 0x06002F46 RID: 12102 RVA: 0x000F4240 File Offset: 0x000F2440
			public void Clear()
			{
				this.m_pVRSystem = null;
				this.m_pVRChaperone = null;
				this.m_pVRChaperoneSetup = null;
				this.m_pVRCompositor = null;
				this.m_pVROverlay = null;
				this.m_pVRRenderModels = null;
				this.m_pVRExtendedDisplay = null;
				this.m_pVRSettings = null;
				this.m_pVRApplications = null;
				this.m_pVRScreenshots = null;
				this.m_pVRTrackedCamera = null;
			}

			// Token: 0x06002F47 RID: 12103 RVA: 0x000F429C File Offset: 0x000F249C
			private void CheckClear()
			{
				if (OpenVR.VRToken != OpenVR.GetInitToken())
				{
					this.Clear();
					OpenVR.VRToken = OpenVR.GetInitToken();
				}
			}

			// Token: 0x06002F48 RID: 12104 RVA: 0x000F42C0 File Offset: 0x000F24C0
			public CVRSystem VRSystem()
			{
				this.CheckClear();
				if (this.m_pVRSystem == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRSystem_016", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRSystem = new CVRSystem(genericInterface);
					}
				}
				return this.m_pVRSystem;
			}

			// Token: 0x06002F49 RID: 12105 RVA: 0x000F4318 File Offset: 0x000F2518
			public CVRChaperone VRChaperone()
			{
				this.CheckClear();
				if (this.m_pVRChaperone == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRChaperone_003", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRChaperone = new CVRChaperone(genericInterface);
					}
				}
				return this.m_pVRChaperone;
			}

			// Token: 0x06002F4A RID: 12106 RVA: 0x000F4370 File Offset: 0x000F2570
			public CVRChaperoneSetup VRChaperoneSetup()
			{
				this.CheckClear();
				if (this.m_pVRChaperoneSetup == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRChaperoneSetup_005", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRChaperoneSetup = new CVRChaperoneSetup(genericInterface);
					}
				}
				return this.m_pVRChaperoneSetup;
			}

			// Token: 0x06002F4B RID: 12107 RVA: 0x000F43C8 File Offset: 0x000F25C8
			public CVRCompositor VRCompositor()
			{
				this.CheckClear();
				if (this.m_pVRCompositor == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRCompositor_020", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRCompositor = new CVRCompositor(genericInterface);
					}
				}
				return this.m_pVRCompositor;
			}

			// Token: 0x06002F4C RID: 12108 RVA: 0x000F4420 File Offset: 0x000F2620
			public CVROverlay VROverlay()
			{
				this.CheckClear();
				if (this.m_pVROverlay == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVROverlay_016", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVROverlay = new CVROverlay(genericInterface);
					}
				}
				return this.m_pVROverlay;
			}

			// Token: 0x06002F4D RID: 12109 RVA: 0x000F4478 File Offset: 0x000F2678
			public CVRRenderModels VRRenderModels()
			{
				this.CheckClear();
				if (this.m_pVRRenderModels == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRRenderModels_005", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRRenderModels = new CVRRenderModels(genericInterface);
					}
				}
				return this.m_pVRRenderModels;
			}

			// Token: 0x06002F4E RID: 12110 RVA: 0x000F44D0 File Offset: 0x000F26D0
			public CVRExtendedDisplay VRExtendedDisplay()
			{
				this.CheckClear();
				if (this.m_pVRExtendedDisplay == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRExtendedDisplay_001", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRExtendedDisplay = new CVRExtendedDisplay(genericInterface);
					}
				}
				return this.m_pVRExtendedDisplay;
			}

			// Token: 0x06002F4F RID: 12111 RVA: 0x000F4528 File Offset: 0x000F2728
			public CVRSettings VRSettings()
			{
				this.CheckClear();
				if (this.m_pVRSettings == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRSettings_002", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRSettings = new CVRSettings(genericInterface);
					}
				}
				return this.m_pVRSettings;
			}

			// Token: 0x06002F50 RID: 12112 RVA: 0x000F4580 File Offset: 0x000F2780
			public CVRApplications VRApplications()
			{
				this.CheckClear();
				if (this.m_pVRApplications == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRApplications_006", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRApplications = new CVRApplications(genericInterface);
					}
				}
				return this.m_pVRApplications;
			}

			// Token: 0x06002F51 RID: 12113 RVA: 0x000F45D8 File Offset: 0x000F27D8
			public CVRScreenshots VRScreenshots()
			{
				this.CheckClear();
				if (this.m_pVRScreenshots == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRScreenshots_001", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRScreenshots = new CVRScreenshots(genericInterface);
					}
				}
				return this.m_pVRScreenshots;
			}

			// Token: 0x06002F52 RID: 12114 RVA: 0x000F4630 File Offset: 0x000F2830
			public CVRTrackedCamera VRTrackedCamera()
			{
				this.CheckClear();
				if (this.m_pVRTrackedCamera == null)
				{
					EVRInitError evrinitError = EVRInitError.None;
					IntPtr genericInterface = OpenVRInterop.GetGenericInterface("FnTable:IVRTrackedCamera_003", ref evrinitError);
					if (genericInterface != IntPtr.Zero && evrinitError == EVRInitError.None)
					{
						this.m_pVRTrackedCamera = new CVRTrackedCamera(genericInterface);
					}
				}
				return this.m_pVRTrackedCamera;
			}

			// Token: 0x04002F5F RID: 12127
			private CVRSystem m_pVRSystem;

			// Token: 0x04002F60 RID: 12128
			private CVRChaperone m_pVRChaperone;

			// Token: 0x04002F61 RID: 12129
			private CVRChaperoneSetup m_pVRChaperoneSetup;

			// Token: 0x04002F62 RID: 12130
			private CVRCompositor m_pVRCompositor;

			// Token: 0x04002F63 RID: 12131
			private CVROverlay m_pVROverlay;

			// Token: 0x04002F64 RID: 12132
			private CVRRenderModels m_pVRRenderModels;

			// Token: 0x04002F65 RID: 12133
			private CVRExtendedDisplay m_pVRExtendedDisplay;

			// Token: 0x04002F66 RID: 12134
			private CVRSettings m_pVRSettings;

			// Token: 0x04002F67 RID: 12135
			private CVRApplications m_pVRApplications;

			// Token: 0x04002F68 RID: 12136
			private CVRScreenshots m_pVRScreenshots;

			// Token: 0x04002F69 RID: 12137
			private CVRTrackedCamera m_pVRTrackedCamera;
		}
	}
}
